package annoation;

import java.lang.annotation.*;
//会在javadoc中生成
@Documented
//注解可以用在什么地方 从ElementType中选取
///** 类, 接口,enum : TYPE
// ** 字段：FIELD
// ** 方法：METHOD
// ** 参数：PARAMETER
// ** 构造方法：CONSTRUCTOR
// ** 本地变量：LOCAL_VARIABLE
// ** 注解：ANNOTATION_TYPE
// ** 包：PACKAGE
@Target(value = ElementType.TYPE)
//声明注解的生命周期，即注解能被保留到哪个阶段
//SOURCE：保留到源代码阶段，编译阶段被擦除
//CLASS:保留到类文件阶段，是默认的生命周期，jvm运行时不包含这些信息
//RUNTIME: jvm运行阶段，如果想在程序中获取注解，就设置这一阶段
@Retention(RetentionPolicy.RUNTIME)
//允许子类继承父类的该注解
@Inherited
public @interface GoodLock {
    String name();

    boolean isActive() default true;
}
